/* -*- C++ -*- */

// ========================================================================
// $Id$
//
// = FILENAME
//   CosTradingDynamic.idl
//
// = DESCRIPTION
//   Trader  Service v1.0 described in CORBAservices: Common Object
//   Services Specification, chapter 16 OMG IDL for Trading Function
//   Module, p 16-74
//
// ========================================================================

#ifndef TAO_TRADING_DYNAMIC_IDL
#define TAO_TRADING_DYNAMIC_IDL

#include <orb.idl>
#include "CosTrading.idl"

#pragma prefix "omg.org"

// OMG IDL for Dynamic Property  Module, p 16-88

module CosTradingDynamic
{
  
  exception DPEvalFailure {
    CosTrading::PropertyName name;
    CORBA::TypeCode returned_type;
    any extra_info;
  };
  
  interface DynamicPropEval
    {      
      any evalDP (in CosTrading::PropertyName name,
                  in CORBA::TypeCode returned_type,
                  in any extra_info)
        raises (DPEvalFailure);
    };

    struct DynamicProp {
      DynamicPropEval eval_if;
      CORBA::TypeCode returned_type;
      any extra_info;
    };
}; /* end module CosTradingDynamic */

#endif /* TAO_TRADING_DYNAMIC_IDL  */
